#!/bin/bash
# Скрипт предназначен для создания локального репозитория deb пакетов.
# Для правильной работы скрипта нужно установить пакет reprepro.

REP_PATH=/home/repo-deb

# Проверка существования репозитория
if [ -d $REP_PATH/conf ]; then
	echo Репозиторий уже существует
	exit 1
fi

# Создание каталогов и файлов
cd $REP_PATH
mkdir bin
mkdir trash
mkdir conf
touch conf/distributions

echo "# Если нужно отредактируйте строки с коментариями
Codename:  squeeze #кодовое имя дистрибутива: lenny, squeeze и т.д.
Suite:  local_current
Origin: local_repo
Label: Local repository
Description: Debian Local Repository
Architectures: i386 #архитектура дистрибутива: i386, amd64 и т.д. 
Components: main cache cdrom
SignWith: default #метка ключа gpg или ключ по умолчанию
DebIndices: Packages Release .gz
DscIndices: Sources Release .gz
Contents: .gz" > conf/distributions

echo Отредактируйте файл $REP_PATH/conf/distributions и нажмите ENTER
read

# Создания репозитория
reprepro export
reprepro createsymlinks

# Копирования скриптов
cp $(dirname $0)/* $REP_PATH/bin

# Установка команд и скриптов в систему
function check_bin_path ()
{
	BIN="$HOME/.bin/"
	if [ -d $BIN ]; then return 0; fi
	BIN="$HOME/bin/"
	if [ -d $BIN ]; then return 0; fi
	BIN="/usr/local/bin/"
	if [ -d $BIN ]; then return 0; fi
	echo bin path not found
	return 1
}

cd "$HOME/.gnome2/nautilus-scripts" && ln -s "$REP_PATH/bin/nautilus-scripts/" \
"Debian"  && echo nautilus scripts установлены
		
if check_bin_path
then
	echo Установка команд в каталог $BIN
	ln -sf $REP_PATH/bin/repo-add $BIN
	ln -sf $REP_PATH/bin/repo-rm $BIN
	ln -sf $REP_PATH/bin/repo-ls $BIN
else
	echo Не найден каталог для установки команд!
fi

echo
echo Создания репозитория закончено
echo
echo Для добавления пакетов смотрите команду repo-add -h
echo Для удаления пакетов смотрите команду repo-rm -h
echo Для просмотра списка пакетов в репозитории смотрите команду repo-ls -h
